home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / XML Utilities / Professional Programmer XSL IDE / Xselerator25.msi / Data.Cab / F33620_trim.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2001-12-27  |  2.1 KB  |  68 lines

  1. <xsl:stylesheet version="1.0" 
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:msxsl="urn:schemas-microsoft-com:xslt"
  4. xmlns:myTrimDropController="f:myTrimDropController" 
  5. xmlns:myTrim1="f:myTrim1" 
  6. xmlns:myReverse="f:myReverse" 
  7. exclude-result-prefixes="xsl myTrimDropController myTrim1 myReverse"
  8. >
  9.   <xsl:import href="str-dropWhile.xsl"/>
  10.   <xsl:import href="compose-flist.xsl"/>
  11.   <xsl:import href="reverse.xsl"/>
  12.   
  13.   <myTrimDropController:myTrimDropController/>
  14.   
  15.   <xsl:template name="trim">
  16.     <xsl:param name="pStr"/>
  17.     
  18.     <xsl:variable name="vrtfParam">
  19.       <myReverse:myReverse/>
  20.       <myTrim1:myTrim1/>
  21.       <myReverse:myReverse/>
  22.       <myTrim1:myTrim1/>
  23.     </xsl:variable>
  24.  
  25.     <xsl:call-template name="compose-flist">
  26.         <xsl:with-param name="pFunList" select="msxsl:node-set($vrtfParam)/*"/>
  27.         <xsl:with-param name="pArg1" select="$pStr"/>
  28.     </xsl:call-template>
  29.     
  30.   </xsl:template>
  31.   
  32.   <xsl:template name="trim1" match="myTrim1:*">
  33.     <xsl:param name="pArg1"/>
  34.     
  35.   <xsl:variable name="vTab" select="' '"/>
  36.   <xsl:variable name="vNL" select="' '"/>
  37.   <xsl:variable name="vCR" select="' '"/>
  38.   <xsl:variable name="vWhitespace" 
  39.                 select="concat(' ', $vTab, $vNL, $vCR)"/>
  40.  
  41.     <xsl:variable name="vFunController" 
  42.                   select="document('')/*/myTrimDropController:*[1]"/>
  43.            
  44.     
  45.     <xsl:call-template name="str-dropWhile">
  46.       <xsl:with-param name="pStr" select="$pArg1"/>
  47.       <xsl:with-param name="pController" select="$vFunController"/>
  48.       <xsl:with-param name="pContollerParam" select="$vWhitespace"/>
  49.     </xsl:call-template>
  50.   </xsl:template>
  51.   
  52.   <xsl:template match="myTrimDropController:*">
  53.     <xsl:param name="pChar"/>
  54.     <xsl:param name="pParams"/>
  55.     
  56.     <xsl:if test="contains($pParams, $pChar)">1</xsl:if>
  57.   </xsl:template>
  58.   
  59.   <xsl:template name="myReverse" match="myReverse:*">
  60.     <xsl:param name="pArg1"/>
  61.     
  62.     <xsl:call-template name="strReverse">
  63.       <xsl:with-param name="pStr" select="$pArg1"/>
  64.     </xsl:call-template>
  65. </xsl:template>
  66. </xsl:stylesheet>
  67.  
  68.